import java.util.*;

/**
 * @author LKQ
 * @date 2022/4/12 22:27
 * @description 词频统计，在 10^9 次方内，2^29 < 10^9 < 2^30，因此在【1，10^9】,只有有限个数2的幂，可以先用Set统计对应的词
 */
public class Solution3 {
    public static void main(String[] args) {
        Solution3 solution3 = new Solution3();
        solution3.reorderedPowerOf2(1240);
    }
    static Set<Integer> set = new HashSet<>();
    static {
        for (int i = 1; i <= 1e9; i <<= 1) {
            set.add(i);
        }
    }

    public boolean reorderedPowerOf2(int n) {
        int[] cnt = new int[10];
        while (n != 0) {
            cnt[n % 10]++;
            n /= 10;
        }
        int[] cur = new int[10];
        out:for (int x: set) {
            Arrays.fill(cur, 0);
            while ( x != 0) {
                cur[x % 10]++;
                x /= 10;
            }
            for (int i = 0; i < 10; i++) {
                if (cnt[i] != cur[i]) {
                    continue out;
                }
            }
            return true;
        }
        return false;
    }
}
